from common.mytRpc import MytRpc
from common.mytSelector import mytSelector
from common.rpcNode import rpcNode
# import cv2
# import np
import time

if __name__ == '__main__':
    # 申明对象
    mytapi = MytRpc()
    sdk_ver = mytapi.get_sdk_version()
    print(f"SDK 版本号:  {sdk_ver}")
    # 连接设备 在api 列表里查看辅助控制API ip 和端口
    # ***********************************************
    # 注意!!! 注意!!! 注意!!!
    # 这里的端口不是adb 的端口  请在客户端上查看API列表里面获取  辅助控制API 的端口
    # ***********************************************
    if mytapi.init("192.168.9.100", 11010, 10) == True:
        print("连接设备设备成功!")

        # 以下展示了所有功能演示代码 可以打开注释 逐一测试

        # 测试连接性
        if mytapi.check_connect_state() == True:
            print("当前连接状态正常")
        else:
            print("当前连接断开")

        # mytapi.longClick(1, 100, 100, 1.0)
        # mytapi.screentshot(1, 90, "d:/1.png")
        # 1   截图操作
        # byt_arr = mytapi.takeCaptrueCompress(0, 100)
        # if len(byt_arr)>0:
        #     # 显示图像
        #     img_np = np.frombuffer(byt_arr, dtype=np.uint8)
        #     img = cv2.imdecode(img_np, cv2.IMREAD_COLOR)
        #     cv2.imshow("Image", img)
        #     cv2.waitKey(0)
        # else:
        #     print("获取截图失败")

        # 2 导出节点信息
        # str = mytapi.dumpNodeXml(True)
        # if str == False:
        #     print("导出失败 请重试!")
        # else:
        #     print(str)

        # 3 打开应用
        # if mytapi.openApp("com.blue.filemanager") == False:
        #     print("运行 com.blue.filemanager 失败!")
        # else:
        #     print("运行 com.blue.filemanager 成功!")

        # 4 关闭应用
        # if mytapi.stopApp("com.blue.filemanager") == False:
        #     print("停止 com.blue.filemanager 失败!")
        # else:
        #     print("停止 com.blue.filemanager 成功!")

        # 5 输入文件
        # if mytapi.sendText("中文测试!") == False:
        #     print("发送文字 失败!")
        # else:
        #     print("发送文字 成功!")  

        # mytapi.ClearText(10)
        # print(mytapi.getNodeByClass("android.widget.FrameLayout"))
        # 6 执行adb命令行
        # str = mytapi.exec_cmd(" dumpsys activity  ")
        # if str != False:
        #     print(str)

        # 7 移动操作
        # 从(500,700) 滑动到(500,1200)
        # 起点500 1260  终点500 200
        # y= 1260
        # finger_id =0
        # mytapi.touchDown(finger_id, 500, y)
        # for i in range(500):
        #     y=y-2
        #     mytapi.touchMove(finger_id, 500, y)
        #     print(f"500  - {y}")
        #     time.sleep(0.08)                         #控制速度
        # mytapi.touchUp(finger_id, 500, y)
        # mytapi.swipe(1, 100,100, 500,540, 4000)

        # 8 按键操作
        # 音量 +
        # if mytapi.keyPress(24) == False:
        #     print('失败!')
        # else:
        #     print('成功!')

        # # 点击隐私协议节点处理
        # privacy_click = mytapi.clickId("com.ss.android.article.lite:id/vs")
        # print("privacy_click",privacy_click)
        #
        # # 现金红包弹窗处理
        # money_click = mytapi.clickId("com.ss.android.article.lite:id/rg")
        # print("money_click",money_click)


else:
    print("连接设备设备 可能是ip 或者端口错误 或者设备没有开机等原因!")
